package com.bestcem.xm.user.dao.mapper;

import com.bestcem.xm.user.entity.pojo.UnsubscribeSettingDO;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * UnsubscribeSettingMapper
 *
 * @author Linzhijian <zhijian.lin@idiaoyan.com>
 * @version v1.0
 * @date 2022/3/17 15:01
 */
@Mapper
public interface UnsubscribeSettingMapper {

    /**
     * 主键删除
     *
     * @param id
     * @return 影响行数
     * @author ympan <yuming.pan@idiaoyan.com>
     * @date 17:32 2022/7/12
     */
    int deleteById(String id);

    /**
     * 插入退订设置
     *
     * @param unsubscribeSettingDO 插入退订设置参数
     * @return 影响行数
     * @author ympan <yuming.pan@idiaoyan.com>
     * @date 17:32 2022/7/12
     */
    int insert(UnsubscribeSettingDO unsubscribeSettingDO);

    /**
     * 插入退订设置
     *
     * @param unsubscribeSettingDO 插入退订设置参数
     * @return 影响行数
     * @author ympan <yuming.pan@idiaoyan.com>
     * @date 17:32 2022/7/12
     */
    int insertSelective(UnsubscribeSettingDO unsubscribeSettingDO);

    /**
     * 插入退订设置
     *
     * @param id
     * @return UnsubscribeSettingDO
     * @author ympan <yuming.pan@idiaoyan.com>
     * @date 17:32 2022/7/12
     */
    UnsubscribeSettingDO getById(String id);

    /**
     * 根据id更新退订设置
     *
     * @param unsubscribeSettingDO 更新参数
     * @return 影响行数
     * @author ympan <yuming.pan@idiaoyan.com>
     * @date 15:32 2022/7/12
     */
    int updateById(UnsubscribeSettingDO unsubscribeSettingDO);

    /**
     * 根据orgId获取退订设置
     *
     * @param orgId 公司id
     * @return 退订设置
     * @author ympan <yuming.pan@idiaoyan.com>
     * @date 15:22 2022/7/12
     */
    UnsubscribeSettingDO getByOrgId(String orgId);

    /**
     * 批量保存退订设置
     *
     * @param list 退订设置列表
     * @author ympan <yuming.pan@idiaoyan.com>
     * @date 11:04 2022/7/28
     */
    void batchInsert(List<UnsubscribeSettingDO> list);
}